Basic arithmetic operations like addition and multiplication are defined for vectors and matrices as well as for numbers. Division of matrices, in the sense of multiplying by the inverse, is supported. (Division by a matrix actually uses LU-decomposition for greater accuracy and speed.) See Basic Arithmetic.
The following functions are applied element-wise if their
arguments are vectors or matrices: change-sign,
conj, arg, re,
im, polar, rect,
clean, float, frac. See
Function
Index.
The V J
(calc-conj-transpose) [ctrn] command
computes the conjugate transpose of its argument, i.e.,
‘conj(trn(x))’.
The A
(calc-abs) [abs] command computes the
Frobenius norm of a vector or matrix argument. This is the square
root of the sum of the squares of the absolute values of the
elements of the vector or matrix. If the vector is interpreted as
a point in two- or three-dimensional space, this is the distance
from that point to the origin.
The v n
(calc-rnorm) [rnorm] command computes
the infinity-norm of a vector, or the row norm of a matrix. For a
plain vector, this is the maximum of the absolute values of the
elements. For a matrix, this is the maximum of the
row-absolute-value-sums, i.e., of the sums of the absolute values
of the elements along the various rows.
The V N
(calc-cnorm) [cnorm] command computes
the one-norm of a vector, or column norm of a matrix. For a plain
vector, this is the sum of the absolute values of the elements.
For a matrix, this is the maximum of the
column-absolute-value-sums. General ‘k’-norms for ‘k’ other than one or infinity are not
provided. However, the 2-norm (or Frobenius norm) is provided for
vectors by the A (calc-abs) command.
The V C
(calc-cross) [cross] command computes
the right-handed cross product of two vectors, each of which must
have exactly three elements.
The &
(calc-inv) [inv] command computes the
inverse of a square matrix. If the matrix is singular, the
inverse operation is left in symbolic form. Matrix inverses are
recorded so that once an inverse (or determinant) of a particular
matrix has been computed, the inverse and determinant of the
matrix can be recomputed quickly in the future.
If the argument to & is a plain number ‘x’, this command simply computes ‘1/x’. This is okay, because the ‘/’ operator also does a matrix inversion when dividing one by a matrix.
The V D (calc-mdet)
[det] command computes the determinant of a square
matrix.
The V L (calc-mlud)
[lud] command computes the LU decomposition of a
matrix. The result is a list of three matrices which, when
multiplied together left-to-right, form the original matrix. The
first is a permutation matrix that arises from pivoting in the
algorithm, the second is lower-triangular with ones on the
diagonal, and the third is upper-triangular.
The V T (calc-mtrace)
[tr] command computes the trace of a square matrix.
This is defined as the sum of the diagonal elements of the
matrix.
The V K (calc-kron)
[kron] command computes the Kronecker product of two
matrices.